# 存放很多账户信息的数据（账户ID,账户余额）
account = {
    # 'ikun': 10000,
    # 'nick': 10000,
}


# 创建账户（输入账户ID，判断是否被占用，给account增加字段）
def create_account():
    account_id = input('请输入新建账户ID:')
    if account_id in account:
        print('账户已被占用，请更换！')
    else:
        account[account_id] = 0.0  # 新建账户，将默认余额设为0
        print('账户创建成功,默认余额为0.0')


# 存钱（输入账户ID，判断账户是否存在，输入金额，判断金额是否大于0，为账户增加余额）
def save_money():
    account_id = input('请输入存款账户ID:')
    if account_id not in account:
        print('账户不存在，请先创建')
        return
    money = float(input('请输入存款金额:'))
    if money < 0:
        print('金额数量错误')
        return
    account[account_id] = account[account_id] + money
    print(f"存款成功，当前账户余额为:{account[account_id]}")


# 取款（输入账户ID、输入取款金额、判断余额是否充足、减少账户金额）
def get_money():
    account_id = input('请输入存款账户ID:')
    if account_id not in account:
        print('账户不存在，请先创建')
        return
    money = float(input('请输入取款金额:'))
    if money > account[account_id]:
        print('账户余额不足!')
        return
    account[account_id] -= money
    print(f"取款成功，当前账户余额:{account[account_id]}")


# 查询余额（输入账户ID、获取余额）
def get_balance():
    account_id = input('请输入存款账户ID:')
    if account_id not in account:
        print('账户不存在，请先创建')
        return
    print(f"当前账户是{account_id},余额为:{account[account_id]}")


# 触发用户输入交互
def main():
    while True:
        print("1. 创建新账户")
        print("2. 存款")
        print("3. 取款")
        print("4. 查询账户余额")
        print("5. 退出系统")
        choose = int(input("输入(1/2/3/4/5)进行操作:"))
        if choose == 1:
            create_account()  # 创建账户的函数
        elif choose == 2:
            save_money()  # 存钱函数
        elif choose == 3:
            get_money()  # 取款函数
        elif choose == 4:
            get_balance()
        elif choose == 5:
            print('操作结束')
            break
        else:
            print('非法操作，请重试')


main()
